Conventionally, generation of a gait (desired gait) for causing a legged mobile robot, for example, a two-legged mobile robot to move has primarily been aimed to generate a gait (walking gait) which causes the robot to perform a smooth walking action. However, in recent years, as the development of the legged mobile robot has been advanced, it is desired to generate a gait that can cause the robot not only to walk but also run.
Note that, since the word “gait” in Chinese characters includes a Chinese character meaning “walk”, the word tends to be misunderstood as meaning only walking. However, originally, the word “gait” has a concept that also includes “running” as evidenced by the fact that it is used as a word for “trotting” or a running mode of a horse.
Here, a difference between characteristics of walking and running will be described.
It is a general practice to define a moving mode, in which there is an instance when all the legs are in the air simultaneously, as running. However, walking and running are not always distinguished clearly by this definition. For example, whereas, in fast jogging, most people find an instance when all the legs are in the air, in slow jogging, relatively large number of people find one of the legs is always in contact with the ground. It is slightly unreasonable perceptually to define that, while fast jogging is running, slow jogging is walking.
FIG. 48 shows a pattern of a body vertical position and a floor reaction force's vertical component (a sum of floor reaction force's vertical components acting on both the left and right legs) in typical running. FIG. 49 shows a pattern of a body vertical position and a floor reaction force's vertical component in typical walking.
Note that a body vertical position/velocity means a vertical position of a body representative point and a velocity thereof. A body horizontal position/velocity means a horizontal position of the body representative point and a velocity thereof. The body vertical position/velocity and the body horizontal position/velocity are collectively referred to as a body position velocity.
In addition, a “floor reaction force's vertical component” should be more precisely described as a “vertical component of the translation floor reaction force” in order to distinguish it from a moment component around a vertical axis of a floor reaction force. However, since the word is lengthy, “translation” is omitted here.
First, considering a movement of a body, during walking, the body is at the highest position at an instance when the body passes over a supporting leg and, during running, the body is at the lowest position at this instance. That is, a phase of a vertical motion pattern of the body is inversed during walking and running.
On the other hand, the floor reaction force is relatively constant during walking, while it fluctuates significantly and reaches the maximum at an instance when the body passes over the supporting leg during running. In addition, naturally, the floor reaction force is 0 at an instance when all the legs are in the air simultaneously. More specifically observed, during running, a floor reaction force of a magnitude generally proportional to an amount of drawing-in of the supporting leg is generated. In other words, during running, it can be said that a person is moving while using legs like springs to jump.
Slow jogging has the same phase of a body vertical movement as the typical running. In addition, in slow jogging, although there is almost no instance when all the legs are in the air simultaneously, even in that case, a floor reaction force is substantially 0, although not completely 0, at an instance when a supporting leg and a free leg are switched.
Therefore, it could be more appropriate to distinguish walking and running from the above-described characteristics of the patterns of a vertical movement of the body and the floor reaction force as described above because slow jogging is regarded as running, which coincides with perception.
In particular, if running and walking are distinguished in a most characteristic point, it could be said that running is a moving mode in which a floor reaction force is 0 or substantially 0 at an instance when a supporting leg is switched, and waling is the other moving modes (in which a floor reaction force's vertical component is relatively constant).
In Japanese Patent Application No. 2000-352011, the applicants have already proposed a technique for generating a legged mobile robot's gait involving a floor reaction force in a flexible manner in real time while substantially satisfying a dynamical equilibrium condition (the dynamical equilibrium condition is a balance condition among the gravity, inertial force and floor reaction force for a desired gait. In a narrow sense, the condition is that the moment applied about the desired ZMP by the resultant force of gravity and the inertial force caused by the movement of the desired gait is 0. Details thereof will be described later). In this case, fundamentally, the movement of an end portion of each leg is determined, the vertical position of the body is determined based on a geometrical condition, and then, the horizontal movement of the body is determined so as to satisfy the dynamical equilibrium condition. This technique and a series of control devices for legged mobile robots proposed by the applicants in Japanese Patent Laid-Open Nos. 10-86081 and 10-277969 and the like can be applied not only walking but also running.
In particular, for example, for a running gait including a period in which all the legs of the robot float in the air or a period in which a sufficient translation floor reaction force cannot be generated (that is, immediately before taking off the floor or immediately after landing) or for a gait with which the robot moves on a surface having a low friction coefficient, the rotational movement of the robot about the center of gravity is important to generate adequately the gait so as to satisfy the dynamical equilibrium condition.
However, according to the technique described above, the desired gait is generated essentially on the assumption that the body posture is kept unchanged, and thus, the dynamics model used for generating the desired gait does not sufficiently take into consideration the effect of the floor reaction force involved in a rotational movement, such as a change of body posture. Thus, there is a possibility that the gait which allows adequate running or other movement of the robot cannot be generated.
In this case, if a precise dynamics model of the robot is used, an adequate gait can be generated. However, using such a precise model results in a higher nonlinearity, so that the amount of calculation involved in determination of the desired gait that satisfy the dynamical equilibrium condition increases significantly. Therefore, it is difficult to generate in real time a gait for the robot to move at a high velocity, such as a running gait.
Therefore, an object of the present invention is to provide a gait generation device that can generate a gait for a legged mobile robot which is suitable for not only walking of the robot but also running or other movement at a high velocity.
More specifically, an object of the present invention is to provide a gait generation device that can generate in real time a gait which allows robot movements including walking and running without any trouble without using a complicated dynamics model.